import type { Component } from 'vue' //import type 是用来协助进行类型检查和声明的，在运行时是完全不存在的。

// 分页组件
import Pagination from '@/components/Pagination'
// 自定义表格工具组件
import RightToolbar from '@/components/RightToolbar'
// 富文本组件
import Editor from "@/components/Editor"
// 文件上传组件
import FileUpload from "@/components/FileUpload"
// 图片上传组件
import ImageUpload from "@/components/ImageUpload"
// 图片预览组件
import ImagePreview from "@/components/ImagePreview"
// 自定义树选择组件
import TreeSelect from '@/components/TreeSelect'
// 字典标签组件
import DictTag from '@/components/DictTag'
// 日期区间
import datePickerRange from "@/components/elMain/datePickerRange.vue";
// 日期
import DatePicker from "@/components/elMain/DatePicker.vue";

//系统组件
import selectStores from "@/components/SystemMain/selectStores.vue";//选择仓库
import selectStoreRegion from "@/components/SystemMain/selectStoreRegion.vue";//选择库区
import selectUnit from "@/components/SystemMain/selectUnit.vue";//选择单位
import selectFactory from "@/components/SystemMain/selectFactory.vue";//工厂
import selectSupplier from "@/components/SystemMain/selectSupplier.vue";//供应商
import selectCargo from "@/components/SystemMain/selectCargo.vue";//货物
import selectTray from "@/components/SystemMain/selectTray.vue";//托盘
import selectStoreLocation from "@/components/SystemMain/selectStoreLocation.vue";//库位
import selectCustomer from "@/components/SystemMain/selectCustomer.vue";//选择客户
import selectTransfer from "@/components/SystemMain/selectTransfer.vue";//选择调拨单

// ✨如果使用的是 JS 可以删除类型校验
const components: {
  [propName: string]: Component //字面量类型，每个属性值类型为组件的类型
} = {
  ImageUpload, Editor, Pagination, RightToolbar, selectStoreRegion,
  FileUpload, ImagePreview, TreeSelect, selectStores, DictTag, selectUnit,
  selectFactory, datePickerRange, DatePicker, selectSupplier, selectCargo, selectTray,
  selectStoreLocation, selectCustomer, selectTransfer
}

export default components